With the increasing expansion of the Internet, legacy network IP addresses, such as IPv4 addresses which may be composed of a mere 32 bits, are becoming more scarce. To address this and other issues, an IPv6 protocol employing IP addresses of 128 bits has been proposed. In addition to thoroughly solving the problem of scarcity of the IPv4 addresses, IPv6 protocol provides significant improvements on addresses capacity, security, network management, and mobility and quality of service among other things.
Before a new protocol becomes the mainstream protocol and is uniformly used by mobile networks, network components must be able to operate according to both the protocols. For example, even after a new protocol such as IPv6 is uniformly adopted, legacy mobile devices that operate using IPv4 may be used. As another example, it is generally the case that IPv4 applications are not able to run in an IPv6 environment and IPv6 applications are not run in an IPv4 environment. Thus, even where most applications may support both IPv4 and IPv6 protocol, there may still be some applications and services that only support IPv4. As a result, IPv6 resources may be underutilized. As still another example, due to an imbalance of address allocation, some countries or regions may have IPv4 address space available for allocation long after the new IPv6 protocol is implemented.
Because IPv4 and IPv6 networks will likely coexist for a long time, solutions have been created to enable IPv4 and IPv6 networks to coexist. These IPv4 to IPv6 transition technologies may enable existing IPv4 applications to run over the IPv6 network. Thus, while the network may be updated to operate according to the new IPv6 protocol, the network may allow continued use of existing IPv4 application resources.
Existing IPv4 to IPv6 transition technologies for addressing the above problems attempt to get network operators to switch from IPv4 to IPv6. For example, in the packet domain, one example solution is an IPv4 to IPv6 Dual Stack Transition Mechanism (Dual Stack) that connects the dual stack hosts in the pure IPv6 network to the existing IPv4 hosts or applications. The purpose of Dual Stack is to provide both IPv4 and IPv6 connectivity to a network node or wireless device. Specifically, each terminal may receive both an IPv4 address and an IPv6 address. The terminal may use IPv6 when IPv6 is supported but fallback to using IPv4 when IPv6 is not supported. Additionally, Dual Stack may also add a gateway between the networks of different network protocols to achieve transmitting IPv4 traffic over the pure IPv6 network by using an IPv4 over IPv6 tunnel.
While Dual Stack provides some benefits, this IPv4 to IPv6 transition technology is not without disadvantages. For example, Dual Stack requires that there is both an IPv4 and IPv6 infrastructure at the Gi/SGi interface. As a result, the network operator is still required to manage IPv4 addresses as well as introduce support for IPv6 in the network. This increases operator costs since the operators must support and mange double IP addresses for all wireless devices in the network. As another example, large network operators continue to face a risk of exhaustion of private IPv4 address space. As still another disadvantage, Dual Stack technology requires all transparent value added services (e.g. service charging, traffic/service policies, parental control, firewalling etc.) on the Gi/SGi network to support both IPv4 as well as IPv6 if the value added services are to be used for both protocols.
A second technique for IPv4 to IPv6 transition in the packet core domain may include providing only an IPv6 address to each terminal. Using an address translation mechanism, all domain name service (DNS) lookup of IPv4 services are handled through a server, such as a DNS64, that translates the address of the IPv4 packet into a “synthetic” IPv6 address. The synthetic IPv6 address may contain the target IPv4 address. Specifically, translation from IPv6 to IPv4 may be done in an external NAT64 that is addressed by the IPv6 address returned by the DNS64. Alternatively, some applications may use IPv4 addresses natively. For wireless devices that support 464XLAT technology through a CLAT mechanism (such as Android 4.3 and later and some Nokia terminals), the wireless device translates the IPv4 traffic into IPv6 (stateless XLAT) towards the NAT64. Thus, an IPv6 only solution includes either a risk that IPv4 services will not work (e.g. applications that do not support IPv6 at all such as Skype and Spotify) or requires support in the wireless for the 464XLAT technology (CLAT mechanism). If 464XLAT is not supported, wireless device cannot be transitioned to IPv6. However, even where 464XLAT is supported, it may only be supported for a subset of the wireless devices in the network.